05cc297459687696ef5ca4ee7e75c2c49817a5fe,javasrc/src/org/ccnx/ccn/impl/CCNNetworkChannel.java,CCNNetworkChannel,read,#number[]#number#number#,246
Before Change
@Override
public int read(byte[] b, int off, int len) throws IOException {
int ret = 0;
while (len > 0) {
if (off + len >= b.length) {
if (off >= b.length)
break;
len = b.length - off;
}
if (_datagram.hasRemaining()) {
int size = _datagram.remaining() > len ? len : _datagram.remaining();
_datagram.get(b, off, size);
ret += len;
off += size;
len -= size;
} else {
int tmpRet = fill();
if (tmpRet <= 0) {
if (ret == 0)
ret = tmpRet;
break;
}
}
}
return ret;
After Change
if (len > b.length - off) {
throw new IndexOutOfBoundsException();
}
if (! _datagram.hasRemaining()) {
int tmpRet = fill();
if (tmpRet <= 0) {
return tmpRet;